package com.atguigu.boot.activemq.produce;


import ch.qos.logback.core.util.FixedDelay;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jms.core.JmsMessagingTemplate;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import javax.jms.Queue;
import java.util.UUID;

/**
 * 队列生产者
 */
@Component
public class Queue_Produce {
    @Autowired
    private JmsMessagingTemplate jmsMessagingTemplate;  // spring中使用 private JmsTemplate jmsTemplate; 两者都行，JmsMessagingTemplate 更强大

    @Autowired
    private Queue queue;

    public void produceMsg() {
        String uuid = UUID.randomUUID().toString().substring(0, 6);
        jmsMessagingTemplate.convertAndSend(queue, "发送消息：" + uuid);  // 不使用 jmsMessagingTemplate.send()，convertAndSend更方便
        System.out.println("发送消息：" + uuid);
    }

    @Scheduled(fixedDelay = 3000)  // 毫秒
    public void produceMsgScheduled(){
        String uuid = UUID.randomUUID().toString().substring(0, 6);
        jmsMessagingTemplate.convertAndSend(queue, "定时发送消息：" + uuid);
        System.out.println("定时发送消息：" + uuid);
    }


}
